#ifndef PROGSQL_H
#define PROGSQL_H

#include "tracksql.h"


//
// All money values are in cents (100 == $1, 25 == $.25, 1 == $.01)
//
// IMPORTANT:  Access to this class is NOT thread-safe.  That's handled at
//			   the next level up (with calls to lock()/unlock()).
//

class ProgressiveTrackSQL : public TrackSQL
{
	public:
		ProgressiveTrackSQL(const String& DBDSN, const String& DBLogin, const String& DBPassword);
		int32 getJackpot(int32 jackpotID, int32& jackpot, bool8 forReal, int32 progressiveFixAmountMultiplier);
        int32 jackpotAdjust(int32 jackpotID, int32 jackpotAdjust, int32& jackpot, bool8 forReal, String& szCasinoName, int32 progressiveFixedAmountMultiplier, int32& multiBankBet);
        int32 jackpotAdjustByPercent(int32 jackpotID, int32 jackpotAdjPercentage, int32& jackpot, bool8 forReal, String& szCasinoName, int32 progressiveFixedAmountMultiplier, int32& multiBankBet);
        int32 jackpotAdjustByBet(int32 jackpotID, int32 betAmount, int32 betMultiplier, int32& jackpot, int32& increasedAmount, int32& multiBankBet, bool8 forReal, String& szCasinoName, int32 progressiveFixedAmountMultiplier);
        virtual int32 getOptions(bool8* progressiveOn, uint8* progPayTable, int32* progJackpotID, uint8* payTable) { return 0; };
		int32 setProgressiveWinner( String& szCasinoName, int32 jackpotID, int32 payrate, bool8 forReal, int32 progressiveFixedAmountMultiplier, int32* pPayout, int32* multiBankPayout, bool8 bPercentage );
		int32 gameEnabled(int32 jackpotID, String& szCasinoName);
};

#endif
